# 作者：SP
# 开发时间：2024/7/31 21:05
'''
1、map() 函数是一个内置函数，用于将指定的函数应用到给定的可迭代对象的每个元素上，并返回一个迭代器，
该迭代器生成应用函数后的结果
map(function, iterable, ...)
function: 要应用到每个元素上的函数。
iterable: 一个或多个可迭代对象（如列表、元组等）。
返回值：
map() 返回一个迭代器，可以使用 list(), tuple(), 或其他类似的构造函数将其转换为具体的数据类型
'''
#单个可迭代对象
numbers = [1, 2, 3, 4, 5]
squares = map(lambda x: x**2, numbers)
print(squares)
# 将 map 对象转换为列表
squares_list = list(squares)
print(squares_list)  # 输出: [1, 4, 9, 16, 25]

#多个可迭代对象
a = [1, 2, 3]
b = [4, 5, 6]
result = map(lambda x, y: x + y, a, b)
print(list(result))  # 输出: [5, 7, 9]

'''注意事项
在Python 3.x中，map() 返回的是一个迭代器，而不是列表。如果你想得到一个列表，需要显式地使用 list() 函数。
如果没有提供任何可迭代对象，map() 将不会执行任何操作，返回一个空的迭代器。'''